/*
 * Copyright (c) 2018-2999 广州亚米信息科技有限公司 All rights reserved.
 *
 * https://www.gz-yami.com/
 *
 * 未经允许，不可做商业用途！
 *
 * 版权所有，侵权必究！
 */

package com.yami.shop.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yami.shop.bean.app.dto.UserDto;
import com.yami.shop.bean.dto.UserCardDto;
import com.yami.shop.bean.enums.ProfitTypeConst;
import com.yami.shop.bean.model.User;
import com.yami.shop.bean.param.UserForget;
import com.yami.shop.bean.param.UserRegisterParam;

import java.io.IOException;
import java.util.Date;
import java.util.List;

/**
 *
 * @author lgh on 2018/09/11.
 */
public interface UserService extends IService<User> {

    Boolean insertUser(UserRegisterParam userRegisterParam);

    Boolean insertForget(UserForget userForget);

    void addDiamond(String userId,Integer amount);

    /**
     * 同步加积分记录
     * @param score
     */
    void addScoreByUid(String userId , double score, ProfitTypeConst profitType,String mark);
    void subScoreByUid(String userId , double score,String mark);

    User getUserByUserMobile(String userMobile);

    /**
     * 获取推荐流
     * @param fromUser
     * @param type 主页那几个模块
     * @return
     */
    List<UserCardDto> getRecommendUsers(User fromUser, Integer type);


    String createShareCode();

    List<UserCardDto> getDisUser(Double lng, Double lat);
    List<UserCardDto> getDisUserSex(Double lng,Double lat);

    List<UserCardDto> getNewUser(String uid,String sex);

    List<UserCardDto> getOnlUser(String uid,String sex);

    List<UserCardDto> getLocUser(String uId,String prov,String city,String sex);

    List<User> getInvRecord(String userId);

    List<UserCardDto> getVipMale(String userId);

    Integer judgeInv(String code);


}
